package com.weitu.permission.dataAuthority.mapper;

import com.weitu.permission.dataAuthority.entity.DataAuthority;
import com.weitu.permission.department.entity.Department;
import com.weitu.permission.role.entity.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Created by smp on 2017/3/21.
 */
public interface DataAuthorityMapper {
    /**
     * 查询本部门下的所有角色
     * @param map
     * @return
     */
    List<Role> queryRoleList(Map<String,Object> map);

    /**
     * 查询本部门下的所有角色总数
     * @param map
     * @return
     */
    int queryCount(Map<String,Object> map);

    /**
     * 查询给定部门和角色对应的部门权限
     * @param map
     * @return
     */
    List<DataAuthority> queryDataAuthorityList(Map<String,Object> map);
    /**
     * 查询给定部门和角色对应的部门列表
     * @param map
     * @return
     */
    List<Department> queryDataAuthorityDepartmentList(Map<String,Object> map);

    /**
     * 插入数据
     * @param dataAuthorityList
     * @return
     */
    int insertDataAuthority(List<DataAuthority> dataAuthorityList);

    /**
     * 删除数据
     * @param map
     * @return
     */
    int deleteDataAuthority(Map<String,Object> map);

    /**
     * 根据用户id和部门id查询数据权限下的部门id
     */
    List<String> selectDataDeptIdByUserIdAndDeptId(@Param("userId") String userId,@Param("deptId") String deptId);
}
